package com.hundsun.cprs.yyt.service.trade.dao;

import java.util.List;

import com.hundsun.cprs.yyt.service.trade.domain.TradeMatchDetail;
import com.hundsun.cprs.yyt.service.trade.domain.query.TradeMatchDetailQuery;
import com.hundsun.cprs.yyt.service.trade.dto.MatchRequest;
import com.hundsun.cprs.yyt.service.trade.dto.TradeMatchDetailInfo;
import org.apache.ibatis.annotations.Param;

public interface TradeMatchDetailDao {
    int deleteByPrimaryKey(Long id);

    int insert(TradeMatchDetail record);

    int insertSelective(TradeMatchDetail record);

    TradeMatchDetail selectByPrimaryKey(Long id);
    
    TradeMatchDetail selectBySn(String sn);

    int updateByPrimaryKeySelective(TradeMatchDetail record);

    int updateByPrimaryKey(TradeMatchDetail record);
    
    int batchInsert(List<TradeMatchDetail> details);

    /**
     * 获取对手方的匹配详情（分佣使用）
     * @param entrustId
     *
     * */
    List<TradeMatchDetail> selectCounterpartyTradeMatchDetailList(@Param("entrustId") Long entrustId, @Param("entrustBs") String entrustBs);

    /**
     * 获取对手方的匹配详情（后端展示使用）
     * @param entrustId
     *
     * */
    List<TradeMatchDetail> selectCounterpartyTradeMatchDetailListforView(@Param("entrustId") Long entrustId, @Param("entrustBs") String entrustBs);


    /**
     * 分页查询匹配详情
     * @param query
     *
     * */
    List<TradeMatchDetailInfo> queryByPage(TradeMatchDetailQuery query);

    List<TradeMatchDetail> getLastDetail(MatchRequest request);
}